Skip to content

Conversation

@naromero77amd
Copy link

@naromero77amd naromero77amd commented Nov 12, 2025

In the ROCm fork of PyTorch 2.7, Inductor currently has codegen support for fast_tanhf. However, it is currently guarded by TORCHINDUCTOR_USE_FAST_MATH environment variable due to some NaN issues in the original Triton implementation of fast_tanhf.

Upstream Triton has an improved fast_tanhf where the NaN issues are now fixed. This upstream commit has been backported to ROCm fork of Triton (see code comments).

Thus, I have removed the conditionalization on Triton versions as well. A bump in the Triton commit is also needed.

Other notes:

@rocm-repo-management-api
Copy link

rocm-repo-management-api bot commented Nov 12, 2025

Jenkins build for 1b1fde5fcc342c2c0d3c69bf95a91501fc39b324 commit finished as FAILURE
Links: Blue Ocean view / Build artifacts

@naromero77amd
Copy link
Author

I have confirmed that it resolves the reproducer in the Jira.

return f"libdevice.tanh({x})"
# On ROCm, always use fast_tanhf
# Requires ROCm fork of Triton 3.3, 3.4, 3.5 or upstream Triton 3.6+
if torch.version.hip:
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

2.7 uses 3.3 IIUC

We should at least support 3.2 in 2.7, so lets conditionalise on triton > (3,3) if 3.3 supports this.

@rocm-repo-management-api
Copy link

rocm-repo-management-api bot commented Nov 14, 2025

Jenkins build for f416c7119ad1443bf022a37a8f3f21b201aa4bbc commit finished as FAILURE
Links: Blue Ocean view / Build artifacts

@pruthvistony pruthvistony merged commit 9dc9120 into release/2.7 Nov 17, 2025
0 of 2 checks passed
@pruthvistony pruthvistony deleted the release_/2.7_new_fast_tanh branch November 17, 2025 18:16
pruthvistony pushed a commit that referenced this pull request Nov 17, 2025
In the ROCm fork of PyTorch 2.8, Inductor currently has codegen support
for fast_tanhf. However, there were some NaN issues in the original
Triton implementation of fast_tanhf .

Upstream Triton has an improved fast_tanhf where the NaN issues are now
fixed. This upstream commit has been backported to ROCm fork of Triton
(see code comments).

A bump in the Triton commit is also needed.

Other notes:

- In support of
[SWDEV-560271](https://ontrack-internal.amd.com/browse/SWDEV-560271)
- Triton 3.4 backport of upstream Triton commit
ROCm/triton#900
- Similar to #2802,
#2804
- Related to pytorch#162052
pruthvistony pushed a commit that referenced this pull request Nov 17, 2025
In the ROCm fork of PyTorch 2.9, Inductor currently has codegen support
for fast_tanhf. However, there were some NaN issues in the original
Triton implementation of fast_tanhf .

Upstream Triton has an improved fast_tanhf where the NaN issues are now
fixed. This upstream commit has been backported to ROCm fork of Triton
(see code comments).

A bump in the Triton commit is also needed.

Other notes:

- In support of
[SWDEV-560271](https://ontrack-internal.amd.com/browse/SWDEV-560271)
- Triton 3.5 backport of upstream Triton commit
ROCm/triton#901
- Similar to #2802,
#2803
- Related to pytorch#162052
jeffdaily pushed a commit that referenced this pull request Nov 17, 2025
In the ROCm fork of PyTorch 2.9, Inductor currently has codegen support
for fast_tanhf. However, there were some NaN issues in the original
Triton implementation of fast_tanhf .

Upstream Triton has an improved fast_tanhf where the NaN issues are now
fixed. This upstream commit has been backported to ROCm fork of Triton
(see code comments).

A bump in the Triton commit is also needed.

Other notes:

- In support of
[SWDEV-560271](https://ontrack-internal.amd.com/browse/SWDEV-560271)
- Triton 3.5 backport of upstream Triton commit
ROCm/triton#901
- Similar to #2802,
#2803
- Related to pytorch#162052
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants